
#ifndef __TIMER_INTERFACE_H
#define __TIMER_INTERFACE_H
#include <signal.h>
#include <time.h>


#define TIMER_TYPE_TABLE \
    X_MACRO(ONCE,   0) /* 单次 */ \
    X_MACRO(CYCLE,  1) /* 循环 */ \

typedef enum
{
#define X_MACRO(a, b) TIMER_##a = b,
    TIMER_TYPE_TABLE
#undef X_MACRO    
} timerType_t;


int TimerInf_Create(timer_t *pTimerId, void (*pFuncCallback)(union sigval), void *pParam);

int TimerInf_Delete(timer_t *pTimerId);

int TimerInf_Start(timer_t timerId, time_t sec, long nsec, timerType_t type);


#endif
